﻿Imports System.Windows.Forms
Imports Testeitor.Entidades
Imports Testeitor.DAO

Public Class DialogRol

    Private _operacion As Util.Operacion
    Private _rol As RolEntity

    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click

        If Me.txtNombre.Text.Length < 20 And Me.txtDescripcion.Text.Length < 200 Then
            Dim dao As New RolDAO()
            Select Case _operacion
                Case Util.Operacion.GUARDAR
                    Dim rol As New RolEntity(txtNombre.Text, txtDescripcion.Text)
                    dao.Insertar(rol)
                    Util.mensaje("El Rol se ha guardado correctamente!", "Rol Guardado")
                Case Util.Operacion.MODIFICAR
                    _rol.Nombre = txtNombre.Text
                    _rol.Descripcion = txtDescripcion.Text
                    dao.Actualizar(_rol)
                    Util.mensaje("El Rol se ha modificado correctamente!", "Rol Guardado")
                Case Util.Operacion.ELIMINAR
                    dao.Eliminar(_rol.Id)
                    Util.mensaje("El Rol se ha eliminado correctamente!", "Rol Guardado")
            End Select

            Me.DialogResult = System.Windows.Forms.DialogResult.OK
            Me.Close()
        Else
            MessageBox.Show("El formato de los Datos ingresados es incorrecto", "Datos Incorrectos", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End If
    End Sub

    Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
        Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
        Me.Close()
    End Sub

    Public Sub cargarDatos(ByVal rol As Entidades.EntityBase)
        _rol = rol
        txtNombre.Text = DirectCast(rol, RolEntity).Nombre
        txtDescripcion.Text = DirectCast(rol, RolEntity).Descripcion

        If _operacion.Equals(Util.Operacion.ELIMINAR) Then
            txtDescripcion.Enabled = False
            txtNombre.Enabled = False
        End If

    End Sub

    Public Sub New(ByVal oper As Util.Operacion)
        InitializeComponent()
        Me._operacion = oper
    End Sub
End Class
